import 'package:json_annotation/json_annotation.dart';
import 'common_mode.dart';

part 'pipe_wrapper_model.g.dart';


@JsonSerializable()
class PipeWrapperModel extends Object{

  @JsonKey(name: 'tts')
  Tts? tts;

  @JsonKey(name: 'bg')
  Bg? bg;

  @JsonKey(name: 'shortbtns')
  List<MessageShortcutModel>? shortbtns;

  @JsonKey(name: 'roles')
  Map<String, dynamic>? roles;

  @JsonKey(name: 'bgm')
  Bgm? bgm;

  @JsonKey(name: 'theme')
  String? theme;

  @JsonKey(name: 'btn')
  Map<String, dynamic>? btn;

  @JsonKey(name: 'greetings')
  List<MessageItemModel>? greetings;

  @JsonKey(name: 'group_out')
  Map<String, dynamic> groupOut;

  @JsonKey(name: 'group_greeting')
  Map<String, dynamic> groupGreeting;

  PipeWrapperModel(this.tts,this.bg,this.shortbtns,this.roles,this.bgm,this.theme,this.btn,this.greetings,this.groupOut,this.groupGreeting,);

  factory PipeWrapperModel.fromJson(Map<String, dynamic> srcJson) => _$PipeWrapperModelFromJson(srcJson);

}

@JsonSerializable()
class Bg extends Object{

  @JsonKey(name: 'chat')
  Chat? chat;

  Bg(this.chat,);

  factory Bg.fromJson(Map<String, dynamic> srcJson) => _$BgFromJson(srcJson);

}

@JsonSerializable()
class Group_out extends Object{

  Group_out();

  factory Group_out.fromJson(Map<String, dynamic> srcJson) => _$Group_outFromJson(srcJson);

}


@JsonSerializable()
class Group_greeting extends Object{

  Group_greeting();

  factory Group_greeting.fromJson(Map<String, dynamic> srcJson) => _$Group_greetingFromJson(srcJson);

}


